package com.sky.service;

import com.sky.dto.OrdersPageQueryDTO;
import com.sky.dto.OrdersPaymentDTO;
import com.sky.dto.OrdersSubmitDTO;
import com.sky.result.PageResult;
import com.sky.vo.OrderPaymentVO;
import com.sky.vo.OrderSubmitVO;
import com.sky.vo.OrderVO;

/**
 * @author hm
 * @package com.sky.service
 * @date Created in 2024/11/22 19:05
 */
public interface OrdersService {

    OrderSubmitVO submit(OrdersSubmitDTO ordersSubmitDTO);

    OrderPaymentVO payment(OrdersPaymentDTO ordersPaymentDTO);

    void reminder(Long id);

    /**
     * 分页查询订单信息
     */
    PageResult pageQueryUser(int page,int pageSize,Integer status);

    /**
     * 查询详细订单
     */
    OrderVO details(Long id);


    /**
     * 用户取消订单
     */
    void cancel(Long id) throws Exception;

    /**
     * 再来一单
     */
    void repetition(Long id);

    /**
     * 用户端订单分页+历史搜索
     */
    PageResult pageQueryAdmin(OrdersPageQueryDTO ordersPageQueryDTO);
}

